package com.lenin.omena.client.event;

import com.google.gwt.event.shared.EventBus;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.event.shared.HandlerRegistration;
import com.lenin.omena.shared.LoginResult;
import com.lenin.omena.shared.SaveUserInfoResult;
import com.lenin.omena.shared.domain.Site;

public class SaveUserInfoEvent extends GwtEvent<SaveUserInfoEventHandler> {

	public static Type<SaveUserInfoEventHandler> TYPE = new Type<SaveUserInfoEventHandler>();

	public static HandlerRegistration register(final EventBus eventBus,
			final SaveUserInfoEventHandler handler) {

		return eventBus.addHandler(SaveUserInfoEvent.TYPE, handler);

	}

	private SaveUserInfoResult result;

	public SaveUserInfoEvent(SaveUserInfoResult result) {
		this.result = result;
	}

	public SaveUserInfoResult getResult() {
		return result;
	}

	@Override
	public Type<SaveUserInfoEventHandler> getAssociatedType() {
		return SaveUserInfoEvent.TYPE;
	}

	@Override
	protected void dispatch(final SaveUserInfoEventHandler handler) {
		handler.onSaveUserInfo(this);
	}

}